package com.zjsru.plan2025.oneday;

import java.util.HashSet;
import java.util.Set;

/**
 * 3375. 使数组的值全部为 K 的最少操作次数
 *
 * @Author: cookLee
 * @Date: 2025-04-09
 */
public class NewMinOperations {

    /**
     * 最小操作
     * \
     * 输入：nums = [5,2,5,4,5], k = 2
     * 输出：2
     * 解释：
     * 依次选择合法整数 4 和 2 ，将数组全部变为 2 。
     * \
     *
     * @return int
     */
    public static void main(String[] args) {
        NewMinOperations minOperations = new NewMinOperations();
        int[] nums = new int[]{5, 2, 5, 4, 5};
        int k = 2;
        System.out.println(minOperations.minOperations(nums, k));

    }

    public int minOperations(int[] nums, int k) {
        Set<Integer> set = new HashSet<>();
        for (int num : nums) {
            //存在比K小的值则返回-1
            if (num < k) {
                return -1;
            }
            if (num > k) {
                set.add(num);
            }
        }
        //统计比k大的数字即是操作次数
        return set.size();
    }


}
